<?php
class Cita_model extends CI_Model{
    function __construct()
    {
        parent::__construct();
        $this->tablename = 'users';
    }
    function BuscarCitas(){
        $this->db->where();
    }
    public function getClaseExamen(){
        $sql="select * from especialidad where EspecialidadPadre=null";
        $arreglo=$this->db->query($sql);
        return $arreglo->result_array();
    }
    function BuscarCitasReservadasYAtendidas($fecha,$doctor){
        $sql="select HOUR(c.Hora) Hora,MINUTE(c.Hora) Minuto from cita c
            where c.PersonaD=".$doctor." and  DATE_FORMAT(c.Fecha,GET_FORMAT(DATE,'EUR')) like '%".$fecha."%' and (c.Estado=1 or c.Estado=2)";
        $data=$this->db->query($sql);
        return $data;
    }
    function BuscarTurnoporDia($fecha,$Doctor){
        $sql="select t.HoraIni HoraI,t.HoraFin HoraF from turno t,
            rangohorario r where t.Turno=r.Turno and r.Persona=".$Doctor." and 
            DATE_FORMAT(r.Fecha,GET_FORMAT(DATE,'EUR')) like '%".$fecha."%'";
        $data=$this->db->query($sql);
        return $data;
    }
    function BuscarHorariosDisponibles($fecha,$doctor){
        $data1=BuscarCitasReservadasYAtendidas($fecha,$doctor);
        $data2=BuscarTurnoporDia($fecha,$doctor);
        $fila=$data1->row_array();
        $horaini=$data2['HoraI'];
        $horafin=$data2['HoraF'];
        $horaActual=$horaini;
        $minutoActual=0;
        $arreglo=array(array());
        $contador=0;
        for ($i = $horaActual; $i < $horafin; $i++){
                for ($j=0;$j<60;$j+15){
                    if ($data2->row_count()>0){
                        foreach($data2->result() as $fila){
                            if (($fila['Hora']!=$i) || ($fila['Minuto']!=$j)){
                                $arreglo[$i]['Hora']=$i;
                                $arreglo[$j]['Minuto']=$j;
                                $contador++;
                                break;
                            }
                        }
                    }
                    else{
                        $arreglo[$i]['Hora']=$i;
                        $arreglo[$j]['Minuto']=$j;
                        $contador++;
                        break;
                    }
                }
            
        }
        return $arreglo;
    }
    function BuscarTurnos($especialidad,$fechai,$fechaf){
        //Especialidad va como string, no como id; o sea "Cardiologia", tal como estan en el combobox
        //especialidad hasta ahora la hesupuesto para el caso de laboratorio como orina, bioquimica sanguinea; para el caso de imagenologia como
        // radiografia, tmografia y en el caso de consultas medicas como cardiologia, dermatologia, etc
        $sql="select t.Horaini, t.HoraFin,r.Fecha,concat(p.Apellido_Paterno,' ',p.Apellido_Materno,' ',p.Nombres) Nombre,p.Persona,
              e.Descripcion,e.Especialidad
              from turno t,especialidad e,rangohorario r,persona p where
              e.Especialidad=t.Especialidad and p.Persona=r.Persona and t.Turno=r.Turno and 
              e.Descripcion like '%".$especialidad."%' and r.Fecha>=STR_TO_DATE('".$fechai."','%d.%m.%Y') and
                  r.Fecha<=STR_TO_DATE('".$fechaf."','%d.%m.%Y')";
        $data=$this->db->query($sql);
        return $data;
        
    }
    function BuscarOrdenesxPaciente($idPaciente){


        if ($idPaciente != ""){
            $cond1 = "where ord.Persona like '%$idPaciente%' and ord.Especialidad = esp.Especialidad 
                      and ord.EstadoOrden !=2 and EspecialidadPadre(ord.Especialidad) !=".ID_ESP_CIRUGIA." ";
        }else{
            $cond1 = "";
        }


        $sql = $this->db->query("
            select
            ord.Orden Orden,
            ord.FechaOrden FechaOrden,
            ord.Indicaciones Indicaciones,
            ord.NumeroSesiones NumeroSesiones,
            ord.Procedimiento Procedimiento,
            ord.EstadoOrden EstadoOrden,
            ord.Especialidad Especialidad,
            ord.Persona Persona,
            ord.OrdenPadre OrdenPadre,
            esp.Descripcion NombreEspecialidad
            from orden ord, especialidad esp
              $cond1;");

            return $sql->result_array();

    }

    function getInfoCita($idCita){

        $sql = $this->db->query("
            SELECT 
            ci.Cita Cita,
            ci.Orden Orden,
            ci.Procedimiento Procedimiento,
            ci.Especialidad Especialidad,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            ci.Fecha Fecha,
            es.Descripcion EspDescripcion,
            ci.Estado EstadoCita,
            ci.DuracionMins DuracionMins
            from cita ci, especialidad es, persona pe
            where  ci.PersonaP = pe.Persona and
            ci.Especialidad = es.Especialidad 
            and ci.Cita = $idCita
              ;");

            $arreglo=$sql->result_array();
            return $arreglo[0];

    }

    function getDetalleCita($idCita){

        $sql = $this->db->query("
            SELECT 
            de.Cita Cita,
            dixesp.Dato Dato,
            de.Valor Valor
            from detallecita de, diagnosticoxespecialidad dixesp
            where  dixesp.Identificador=2 and
            de.Especialidad = dixesp.Especialidad and de.Campo = dixesp.Campo and de.Cita = $idCita
            ;");

            if ($sql->num_rows()>0){
                 return $sql->result_array(); 

            }else return 0;

            


    }




    function BuscarNombEsp($idCodigo){

        $cond = "where esp.Especialidad  = $idCodigo";
        $sql = $this->db->query("
            select
            esp.Especialidad Especialidad,
            esp.Descripcion Descripcion
            from especialidad esp $cond;");

        $arreglo=$sql->result_array();
        return $arreglo[0]['Descripcion'];

    }

    function BuscarPersonaDatos($idPersona){

        $cond = "where per.Persona  = $idPersona and per.Persona= pac.Persona";
        $sql = $this->db->query("
            select
            per.Persona Persona,
            per.Nombres Nombres,
            per.Apellido_Materno Apellido_Materno,
            per.Apellido_Paterno Apellido_Paterno,
            pac.Codigo Codigo
            from persona per,paciente pac $cond;");

        $arreglo=$sql->result_array();
        return $arreglo[0];


    }




    function BuscarPacientexDNI($docIdentidad){
        //la variable $docIdentidad es String
        $sql="SELECT a.Persona Persona,concat_ws(b.Apellido_Paterno,' ',b.Apellido_Materno,' ',b.Nombres) Nombre
              FROM persona b,paciente a WHERE a.Persona=b.Persona and b.CodigoDocumento like '%".$docIdentidad."%'";
        $imprime=$this->db->query($sql);
        $data="";
        if ($imprime->num_rows()>0){
            foreach ($imprime->result_array() as $r){
                $data['0']=$r['Nombre'];
            }
        }
        else{
            //si no encuentra ningun paciente devuelve una cadena vacia
            $data="";
        }
        return $data;    
    }
    function BuscarCirugia($exam){
        $sql="SELECT Examen,Descripcion FROM examen WHERE TipoExamen=?";
        $imprime=$this->db->query($sql,array($exam));
        $data="";
        foreach ($imprime->result_array() as $r){
            $data[$r['Examen']]=$r['Descripcion'];
        }
        return $data;
    }
    function BuscarTipoCirugia(){
        $sql="SELECT TipoExamen,Descripcion FROM tipoexamen WHERE ClaseExamen=?";
        $imprime=$this->db->query($sql,"3");
        $data=$imprime->result_array();//"";
        /*foreach ($imprime->result_array() as $r){
            $data[$r['TipoExamen']]=$r['Descripcion'];
        }*/
        return $data;
    }
    function BuscarTipoLaboratorio(){
        $sql="SELECT TipoExamen,Descripcion FROM tipoexamen WHERE ClaseExamen=?";
        $imprime=$this->db->query($sql,"1");
        $data=$imprime->result_array();//"";
        /*foreach ($imprime->result_array() as $r){
            $data[$r['TipoExamen']]=$r['Descripcion'];
        }*/
        return $data;
    }
    function BuscarLaboratorio($exam){
        $sql="SELECT Examen,Descripcion FROM examen WHERE TipoExamen=?";
        $imprime=$this->db->query($sql,array($exam));
        $data="";
        foreach ($imprime->result_array() as $r){
            $data[$r['Examen']]=$r['Descripcion'];
        }
        return $data;
    }
    function BuscarTipoImagenologia(){
        $sql="SELECT TipoExamen,Descripcion FROM tipoexamen WHERE ClaseExamen=?";
        $imprime=$this->db->query($sql,"2");
        $data=$imprime->result_array();//"";
        /*foreach ($imprime->result_array() as $r){
            $data[$r['TipoExamen']]=$r['Descripcion'];
        }*/
        return $data;
    }
    function BuscarImagenologia($exam){
        $sql="SELECT Examen,Descripcion FROM examen WHERE TipoExamen=?";
        $imprime=$this->db->query($sql,array($exam));
        $data="";
        foreach ($imprime->result_array() as $r){
            $data[$r['Examen']]=$r['Descripcion'];
        }
        return $data;
    }
    function BuscarTipoTerapia(){
        $imprime=$this->db->select('TipaTerapia,Descripcion')
                 ->get('tipoterapia');
        $data=$imprime->result_array();//"";
       /*foreach ($imprime->result_array() as $r){
            $data[$r['TipaTerapia']]=$r['Descripcion'];
        }*/
        return $data;
    }
    function BuscarExamen($tipoexamen){
        $sql="SELECT Especialidad especialidad,Descripcion descripcion FROM especialidad WHERE EspecialidadPadre=".$tipoexamen." ";
        $imprime=$this->db->query($sql);
        return $imprime->result_array();
    }
    function BuscarTipoExamen($claseexamen){
        $sql="SELECT Especialidad especialidad,Descripcion descripcion FROM especialidad WHERE EspecialidadPadre=".$claseexamen." ";
        $imprime=$this->db->query($sql);
        return $imprime->result_array();
    }
    function BuscarClaseExamen(){
        
        $sql="select Especialidad especialidad,Descripcion descripcion from especialidad where EspecialidadPadre is null and Especialidad<=6 ";
        $data=$this->db->query($sql);
        //print_r($data->result_array());
        return $data->result_array();
    }
    function Cancelar_Cita($val){
        $sql="update cita set Estado=2 where Cita=".$val." ";
        $this->db->query($sql);
    }
    function BusquedaCitas($pac,$doc,$especialidad,$fecI,$fecF){
        if (!(($pac=="") and ($doc=="") and ($fecI=="") and ($especialidad=="") and ($fecF=="")))
        {
            if (!(($pac=="") and ($doc=="") and ($especialidad==0))){
                $cad1=""; $cad2=""; $cad3="";
                if ($pac!=""){
                    $cad1=" and c.PersonaP=".$pac." ";
                }
                if ($doc!=""){
                    $cad2=" and cp.Persona=".$doc." ";
                }
                if (!($especialidad<=0)){
                    $cad3=" and c.Especialidad=".$especialidad." ";
                }                
                $sql="SELECT c.Cita cita,concat(p1.Nombres,' ',p1.Apellido_Paterno,' ',p1.Apellido_Materno) nombreP,
                concat(p2.Nombres,' ',p2.Apellido_Paterno,' ',p2.Apellido_Materno) nombreD,
                e.Descripcion especialidad,date_format(fecha,'%d-%m-%Y') dia,
                date_format(fecha,'%H:%i:%s') hora,c.Estado estado FROM 
                persona p1,persona p2,especialidad e,cita c,citaxpersonal cp
                WHERE p2.persona=cp.persona and p1.persona=c.personaP and c.especialidad=e.especialidad and c.cita=cp.cita
                 ".$cad1.$cad2.$cad3." and STR_TO_DATE('".$fecI."','%d-%m-%Y')<=c.Fecha and
                  STR_TO_DATE('".$fecF."','%d-%m-%Y')>=c.Fecha and c.Estado=0";
        
            }
            $data=$this->db->query($sql);
            return $data->result_array();
        }
        
    }
    
    function BusquedaCitasAConfirmar($idPaciente,$idFecInicial,$idFecFinal){
        
        if (!(($idPaciente=="") and ($idFecFinal=="") and ($idFecInicial=="")))
        {
            
                $sql="";
                $cad1="";
                if ($idPaciente!=""){
                    $cad1=" and c.PersonaP=".$idPaciente." ";
                }
                $sql="SELECT 
                        c.Cita cita,
                        concat(p1.Nombres,' ',p1.Apellido_Paterno,' ',p1.Apellido_Materno) nombreP,
                        concat(p2.Nombres,' ',p2.Apellido_Paterno,' ',p2.Apellido_Materno) nombreD,
                        e.Descripcion especialidad,
                        date_format(fecha,'%d-%m-%Y') dia,
                        date_format(fecha,'%H:%i:%s') hora 
                    FROM 
                        persona p1,persona p2,especialidad e,Reserva c
                    WHERE 
                        p2.persona=c.personaD and p1.persona=c.personaP and c.especialidad=e.especialidad $cad1 and 
                        STR_TO_DATE('$idFecInicial','%d-%m-%Y')<=c.Fecha and 
                        STR_TO_DATE('$idFecFinal','%d-%m-%Y')>=c.Fecha and c.Estado=0
                        ";
            
            $data=$this->db->query($sql);
            return $data->result_array();
        }
    }
    
    function BuscarEspecialidad($varEsp){


        if(isset($varEsp)){
            $this->db->select('Especialidad,Descripcion')->where()->get('especialidad');
            $imprime=$this->db->where('Especialidad', $varEsp);

        }else{
            $imprime=$this->db->select('Especialidad,Descripcion')->get('especialidad');
        }

        $data=$imprime->result_array();//"";
        /*foreach ($imprime->result_array() as $r){
            $data[$r['Especialidad']]=$r['Descripcion'];
        }*/
        return $data;
    }
    function ObtenerOrdenes($Persona){
        $sql=""; $imprime="";
        $sql="SELECT ";
    }
    function InsertarCita($orden,$procedimiento,$personaP,$personaD,$Fecha,$Especialidad,$estado,$duracion){


    $sql="INSERT INTO cita (Orden,Procedimiento,PersonaP,Fecha,DuracionMins,Especialidad,Estado) VALUES (".$orden.",".$procedimiento.",".$personaP.",'".$Fecha."',".$duracion.",".$Especialidad.",".$estado.")";
    $this->db->query($sql);
    $lastId=$this->db->insert_id();

    $sql="INSERT INTO citaxpersonal (Cita,Persona) VALUES (".$lastId.",".$personaD.")";
    $this->db->query($sql);

    $sql="UPDATE orden set EstadoOrden=2 where Orden=".$orden." ";
    $this->db->query($sql);

    return $lastId;

     }

    function InsertarDetalleCita($idCita,$idespecialidad,$idCampo,$Valor){
        $sql = "SELECT EspecialidadPadre($idespecialidad) Padre from dual;";
        $r = $this->db->query($sql)->result_array();

        if (count($r) > 0){
            if ($r[0]['Padre'] == 6){
                $idespecialidad = 6;
            }
        }
        $sql="INSERT INTO detallecita (Cita,Especialidad,Campo,Valor) VALUES (".$idCita.",".$idespecialidad.",".$idCampo.",'".$Valor."')";
        $this->db->query($sql);
    }



   /* function BuscarDoctorxExpecialidad(){
        $luiggi=$this->db->query("select A.Persona as idPersona,concat(A.Apellido_Paterno,' ',A.Apellido_Materno,' ',A.Nombres) as Persona from Persona A,Personal C,TipoPersonal B where B.Descripcion='.'Doctor'.' and B.TipoPersonal=C.TipoPersonal and A.Persona=C.Persona");
        $combo=array();
        foreach ($imprime as $r){
            $combo[$r['Doctor']]=$r['Persona'];
        }
        
        return $combo;
    }*/
    
     function buscarPacientes(){
        
        $usuario=$this->session->userdata('logged_in');
        $idPersona=$usuario['persona'];
        var_dump($idPersona);    
        $sql = $this->db->query("
            select
            pa.Codigo Codigo,
            pe.Persona Persona,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            ci.Cita Cita,
            ci.Especialidad Especialidad,  
            ci.Fecha Fecha
            from paciente pa, persona pe,cita ci, citaxpersonal cp  
            where pa.Persona = pe.Persona and ci.personap=pa.persona
            and EspecialidadPadre(ci.Especialidad)=".ID_ESP_CITAAMBULATORIA." 
            and ci.cita=cp.cita and cp.persona=$idPersona order by ci.Fecha asc;");
       
        return $sql->result_array();
       
    }
    
    function buscarEspecialidadPadrexPersonal($idPersona){
        //Creado por Miguel
        $sql = $this->db->query("select EspecialidadPadre(EspecialidadGeneral) especialidad 
                                from personalxespecialidad where persona=".$idPersona.";");
        return $sql->result_array();
    }
    
    function buscarPacientesxPersonal($idPersonal){
        $sql = $this->db->query("select
            pa.Codigo Codigo,
            pe.Persona Persona,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            ci.Cita Cita,
            ci.Especialidad Especialidad,
            EspecialidadPadre(ci.Especialidad) EspecialidadPadre,
            ci.Fecha Fecha
            from paciente pa, persona pe,cita ci, citaxpersonal cp 
            where pa.Persona = pe.Persona and ci.personap=pa.persona and cp.persona=".$idPersonal." and 
            ci.cita=cp.cita and ci.estado=0 
            order by ci.Fecha asc;");
       
        return $sql->result_array();
    }
    function buscarPacientesxCitaTerapia(){
        //Creado por Miguel
        $sql = $this->db->query("
            select
            pa.Codigo Codigo,
            pe.Persona Persona,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            ci.Cita Cita,
            ci.Especialidad Especialidad,  
            ci.Fecha Fecha
            from paciente pa, persona pe,cita ci 
            where pa.Persona = pe.Persona and ci.personap=pa.persona
            and EspecialidadPadre(ci.Especialidad)=".ID_ESP_TERAPIA."
            order by ci.Fecha asc;");
       
        return $sql->result_array();
       
    }
    
    function buscarPacientesExamenesCita(){
        
        $usuario=$this->session->userdata('logged_in');
        $idPersona=$usuario['persona'];
        var_dump($idPersona);    
        $sql = $this->db->query("
            select
            pa.Codigo Codigo,
            pe.Persona Persona,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            ci.Cita Cita,
            ci.Especialidad Especialidad,
            es.Descripcion
            from paciente pa, persona pe, cita ci, especialidad es, citaxpersonal cp  
            where pa.Persona = pe.Persona and ci.personap=pe.persona
            and ci.Especialidad = es.Especialidad
            and ci.Estado = 0
            and ci.cita=cp.cita and cp.persona=$idPersona
            and EspecialidadPadre(ci.Especialidad)=".ID_ESP_EXAMENES."
                
            ;");
       
        return $sql->result_array();
       
    }
    
    function buscarPacientesExamenesProcedimiento(){
        $usuario=$this->session->userdata('logged_in');
        $idPersona=$usuario['persona'];
        var_dump($idPersona);    
        $sql = $this->db->query("
            select
            pa.Codigo Codigo,
            pe.Persona Persona,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            ci.Cita Cita,
            ci.Especialidad Especialidad,
            es.Descripcion
            from paciente pa, persona pe, cita ci, especialidad es, citaxpersonal cp, 
            procedimiento pr
            where pa.Persona = pe.Persona and ci.personap=pe.persona
            and ci.Especialidad = es.Especialidad
            and pr.procedimiento = ci.procedimiento   
            and ci.Estado = 1
            and pr.EstadoProcedimiento = 1
            and ci.cita=cp.cita and cp.persona=$idPersona
            and EspecialidadPadre(ci.Especialidad)=".ID_ESP_EXAMENES."
                
            ;");
       
        return $sql->result_array();
       
    }
    
    function buscarCitasEmergencias($idMedico){ 
       
       $sql = $this->db->query("
            select
            pa.Codigo Codigo,
            pe.Persona Persona,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            ci.Cita Cita,
            ci.Especialidad Especialidad   
            from paciente pa, persona pe, cita ci 
            where pa.Persona = pe.Persona and ci.personap=pe.persona 
            and EspecialidadPadre(ci.Especialidad)=".ID_ESP_EMERGENCIAS."
            ;");
       
        return $sql->result_array();
    }
    function citaEmergencias($cita){
        $sql = $this->db->query("
            select
            pa.Codigo Codigo,
            pe.Persona Persona,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            pe.Direccion Direccion,
            pe.Telefono Telefono,
            ci.Procedimiento Procedimiento,
            ci.cita Cita,
            ci.Especialidad Especialidad   
            from paciente pa, persona pe, cita ci 
            where pa.Persona = pe.Persona 
            and  ci.personap=pe.persona and ci.cita=$cita 
            ;");
       
          $row=$sql->result_array();
          
       return $row[0];
    }
    function buscarCitaAmbulatoria($cita){
        
        $sql = $this->db->query("
            select
            pa.Codigo Codigo,
            pe.Persona Persona,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            pe.Direccion Direccion,
            pe.Telefono Telefono,
            ci.Especialidad Especialidad,
            ci.Procedimiento Procedimiento,
            ci.cita Cita, 
            EspecialidadPadre(ci.Especialidad) EspecialidadPadre    
            from paciente pa, persona pe, cita ci 
            where pa.Persona = pe.Persona and ci.personap=pe.persona and ci.cita=$cita 
            ;");
       
          $row=$sql->result_array();
          
       return $row[0];
    }
    function wsgetEspecialidades($padre){
        $this->db->start_cache();

        if ($padre == ''){
            $condicion = " where EspecialidadPadre is null";
        }else{
            $condicion = " where EspecialidadPadre=$padre";
        }

        $query = "select * from especialidad $condicion";
        $sql = $this->db->query($query);
        $arr = $sql->result_array();

        $actividades = array();
        foreach ($arr as $item){
            $actividades[] = array(
                'id'    =>  $item['Especialidad'],
                'nombre'=>  $item['Descripcion']
            );
        }

        $this->db->flush_cache();

    	return $actividades;
    }
    function BuscarSubTipos($idTipo){

        $sql = $this->db->query("
            select
            pa.Especialidad Especialidad,
            pa.Descripcion Descripcion
            from especialidad pa
            where pa.EspecialidadPadre = $idTipo
            ;");

        $row=$sql->result_array();

        /*$this->db->select('Especialidad,Descripcion');
        $this->db->from('especialidad');
        $arreglo=$this->db->where('EspecialidadPadre', $idTipo)->result_array();*/


    return $row;
    }

    public function  ObtenerCampos($id,$identificador){


        $sql = $this->db->query("
            select
            de.Especialidad,
            de.Campo,
            de.Dato,
            de.ItemPresentacion,
            de.TablaData,
            de.Identificador
            from diagnosticoxespecialidad de
            where de.Especialidad = $id and de.Identificador = $identificador
            ;");

        $row=$sql->result_array();

        return $row;

    }

    public function generaTextBox($label,$idTablaData,$idcampo){

        $campo="";
        //$options = $this->Cita_model->getData($idTablaData);
        //$campo=latisoft_radioGroupName($idcampo,$idcampo, $label, $options,$options[0]['value'] , true);
        $campo=latisoft_inputTextId($idcampo,$idcampo, $label, "", true);

        //return campo;
        return $campo;


    }

    public function generaRadioButton($label,$idTablaData,$idcampo){

        $campo="";
        $options = $this->Cita_model->getData($idTablaData);
        //latisoft_radioGroupName($name,$id, $label, $options, $selected, $active)
        $campo=latisoft_radioGroupName($idcampo,$idcampo, $label, $options,$options[0]['value'] , true);
         return $campo;



    }
    public function generaCombo($label,$idTablaData,$idcampo){

        $campo="";
        $options = $this->Cita_model->getData($idTablaData);
//        $campo=latisoft_comboBox($idcampo,$idcampo, $label, $options,$options[0]['value'] , true);
        //latisoft_comboBox($id, $label, $options, $selected, $msjInicial, $active, $size='180', $inForm=true)
        $campo= latisoft_comboBox($idcampo, $label, $options, $options,$options[0]['value'], 'Seleccione', true, '180', true);
        return $campo;

    }


    public function esPaciente(){
        $usuario=$this->session->userdata('logged_in');
        $idPersona=$usuario['persona'];
        $idPerfil=$usuario['perfil'];
        $idNombre = $usuario['nombre'];
        
        
        $sql = $this->db->query("
            select
            pe.Nombre Nombre
            from perfil pe  
            where pe.Perfil = $idPerfil;");
       
        $perfil= $sql->result_array();
        $data =array();

        if( $perfil[0]['Nombre'] =="Paciente"){

            
            $idPer=$idPersona;
            $nombPer=$idNombre;
            $codigoPer=$this->Cita_model->getCodPac($idPersona);

            $data = array(
                "idpersona" => $idPer,
                "nombre" => $nombPer,
                "codigo" => $codigoPer,
            );

            return $data;

            }else{

             return $data;

            }

    }

    function getCodPac($id){

        $sql = $this->db->query("
            select
            pa.Codigo Codigo
            from paciente pa 
            where pa.Persona = $id;");
       
        $codigo= $sql->result_array();
        return $codigo[0]['Codigo'];

    }


    function getData($idData){

        $sql = $this->db->query("
            select
            ma.Descripcion value,
            ma.Descripcion label
            from maestrodata ma
            where ma.Codigo = $idData
            ;");

        $row=$sql->result_array();
        return $row;


    }

    function busqPaciente($Documento,$nombre,$apePat,$apeMat){
        
               
        if ($Documento != ''){
            $cond1 = " and CodigoDocumento like '%$Documento%'";
        }else{
            $cond1 = "";
        }
        if ($nombre != ''){
            $cond2 = " and Nombres like '%$nombre%'";
        }else{
            $cond2 = "";
        }

        if ($apePat != ''){
            $cond3 = " and Apellido_Paterno like '%$apePat%'";
        }else{
            $cond3 = "";
        }
        if ($apeMat != ''){
            $cond4 = " and Apellido_Materno  like '%$apeMat%'";
        }else{
            $cond4 = "";
        }
                
        
        $sql = $this->db->query("select pe.persona persona,pe.Nombres nombres,pe.Apellido_Paterno apepaterno,
            pe.Apellido_Materno apematerno,pa.codigo codigo from persona pe, paciente pa 
                where pe.persona=pa.persona$cond1 $cond2 $cond3 $cond4;");
       
        $row=$sql->result_array();
        
        return $row; 
    }

    function ObtenerPadre($idEsp){

        $sql = $this->db->query("
            select
            esp.Especialidad Especialidad,
            EspecialidadPadre(esp.Especialidad) EspecialidadPadre    
            from especialidad esp 
            where esp.Especialidad = $idEsp;
            ;");
       
          $row=$sql->result_array();
          
       return $row[0]["EspecialidadPadre"];


    }
    
    function RegistrarCitaMovil($idPer,$idEsp,$Fecha){
        $usuario=$this->session->userdata('logged_in');
        $idPac=$usuario['persona'];
        $dato=$this->db->query("select  max(re.Cita) cita from Reserva re");
        if ($dato==null){$val=1;}
        else{
            $val=$dato->result_array();
            $valor=$val[0]['cita'];
            $valor++;
        }
        $this->db->query("insert into Reserva (Cita,PersonaP,PersonaD,Especialidad,Fecha,Estado) values ($valor,$idPac,$idPer,$idEsp,'".$Fecha."',0);");
        
    }
    function ActualizarCitaMovil($cita){
        $this->db->query("update Reserva set estado=1 where cita=$cita");
    }
    
    function ObtenerReservas(){
        $usuario=$this->session->userdata('logged_in');
        $idPersona=$usuario['persona'];
        $sql=$this->db->query("select re.cita reserva,re.personaP idpac,
                               concat(p1.nombres,'  ',p1.Apellido_Paterno,'  ',p1.Apellido_Materno) paciente,
                               re.personaD idper, 
                               concat(p2.nombres,'  ',p2.Apellido_Paterno,'  ',p2.Apellido_Materno)  personal,
                               re.especialidad idesp,es.descripcion especialidad,
                               date_format(re.fecha,'%Y-%m-%d') dia,
                               date_format(re.fecha,'%H:%i:%s') hora 
                               from Reserva re,persona p1,persona p2,especialidad es 
                               where re.personaP=p1.Persona and re.personaD=p2.Persona and 
                               es.especialidad=re.especialidad and re.estado=0 and  
                               re.personaP=$idPersona");
        $row=$sql->result_array();
        return $row;
    }
    function ObtenerReserva($reserva){
        $usuario=$this->session->userdata('logged_in');
        $idPersona=$usuario['persona'];
        $sql=$this->db->query("select re.cita reserva,re.personaP idpac,
                               concat(p1.nombres,'  ',p1.Apellido_Paterno,'  ',p1.Apellido_Materno) paciente,
                               re.personaD idper, 
                               concat(p2.nombres,'  ',p2.Apellido_Paterno,'  ',p2.Apellido_Materno)  personal,
                               re.especialidad idesp,es.descripcion especialidad,
                               date_format(re.fecha,'%Y-%m-%d') dia,
                               date_format(re.fecha,'%H:%i:%s') hora 
                               from Reserva re,persona p1,persona p2,especialidad es 
                               where re.personaP=p1.Persona and re.personaD=p2.Persona and 
                               es.especialidad=re.especialidad and re.estado=0 and re.cita=$reserva
                ");
        $row=$sql->result_array();
        return $row;
    }
    function ObtenerCitas(){
        $usuario=$this->session->userdata('logged_in');
        $idPersona=$usuario['persona'];
        $sql=$this->db->query(" SELECT c.cita id,concat(p2.Nombres,' ',p2.Apellido_Paterno,' ',p2.Apellido_Materno) personal,
                                e.Descripcion especialidad,date_format(fecha,'%d-%m-%Y') dia,
                                date_format(fecha,'%H:%i:%s') hora 
                                FROM 
                                persona p1,persona p2,especialidad e,cita c,citaxpersonal cp
                                WHERE 
                                p2.persona=cp.persona and p1.persona=c.personaP and c.especialidad=e.especialidad and 
                                c.cita=cp.cita and p1.persona=$idPersona and e.especialidadpadre=1 and c.Estado=0");
        $row=$sql->result_array();
        return $row;
    }
    function ObtenerCita($cita){
        $usuario=$this->session->userdata('logged_in');
        $idPersona=$usuario['persona'];
        $sql=$this->db->query(" SELECT c.cita id,concat(p2.Nombres,' ',p2.Apellido_Paterno,' ',p2.Apellido_Materno) personal,
                                e.Descripcion especialidad,date_format(fecha,'%d-%m-%Y') dia,
                                date_format(fecha,'%H:%i:%s') hora 
                                FROM 
                                persona p1,persona p2,especialidad e,cita c,citaxpersonal cp
                                WHERE 
                                p2.persona=cp.persona and p1.persona=c.personaP and c.especialidad=e.especialidad and 
                                c.cita=cp.cita and c.cita=$cita and e.especialidadpadre=1 and c.Estado=0");
        $row=$sql->result_array();
        return $row;
    }
    function CancelarReserva($idReserva){
        $this->db->query("update Reserva set estado=2 where cita=$idReserva");
    }
    
    function BuscarDetalleReserva($idReserva){

           
        $sql = $this->db->query("
        select 
            re.Cita codRes,   
            re.PersonaP idPersona,
            concat(pe.Nombres,' ',pe.Apellido_Paterno,' ',pe.Apellido_Materno) nombre,
            pa.Codigo codigo,
            re.Especialidad idEspecialidad,
            es.Descripcion nombreEspecialidad,
            re.Fecha horario,
            concat(pe2.Nombres,' ',pe2.Apellido_Paterno,' ',pe2.Apellido_Materno) doctor
            from Reserva re, persona pe, persona pe2, especialidad es , paciente pa 
            where re.Cita = $idReserva and pe.Persona=re.PersonaP and pe2.Persona = re.PersonaD and re.Especialidad = es.Especialidad
            and pa.Persona = pe.Persona
            ;");
       
          $row=$sql->result_array();
          
       return $row[0];

    }

    function getEmail($idPersona){

        $sql = $this->db->query("
        select 
            pe.Email Email 
            from persona pe
            where pe.Persona = $idPersona
            ;");
       
          $row=$sql->result_array();
          
       return $row[0]["Email"];

    }

    function ObtieneIndiciaciones($Especialidad){

         $sql = $this->db->query("
        select 
            es.Indicaciones Indicaciones 
            from especialidad es
            where es.Especialidad = $Especialidad
            ;");
       
          $row=$sql->result_array();
          
       return $row[0]["Indicaciones"];


    }

        
}
?>
